home *** CD-ROM | disk | FTP | other *** search
/ Delphi Informant Complete 1995 - 2000 / Delphi Informant Complete 1995 to 2000.iso / Delphi Informant Magazine Complete Works SOURCE CODE 1998.rar / 1998 / Sep / di9809jp / BlastServer / Main.pas < prev    next >
Pascal/Delphi Source File  |  1998-03-05  |  2KB  |  115 lines

  1. unit Main;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, Buttons, ComCtrls;
  8.  
  9. const
  10.  
  11.  BufferSize = 1024;
  12.  MaxAddrStr = 16;
  13.  BlastCastPort = 9500;
  14.  BlastCastTTL  = 1;
  15.  BlastCastAddr = '234.5.6.7';
  16.  
  17. type
  18.  
  19.    TfrmMain = class(TForm)
  20.     PageControl1: TPageControl;
  21.     tsSetUp: TTabSheet;
  22.     tsSend: TTabSheet;
  23.     gbTTL: TGroupBox;
  24.     edTTL: TEdit;
  25.     udTTL: TUpDown;
  26.     gbMemo: TGroupBox;
  27.     gbSendActions: TGroupBox;
  28.     bbtnClose: TBitBtn;
  29.     bbtnMail: TBitBtn;
  30.     gbMCAddress: TGroupBox;
  31.     bbtnClear: TBitBtn;
  32.     gbPort: TGroupBox;
  33.     edPort: TEdit;
  34.     udPort: TUpDown;
  35.     bbtnAbout: TBitBtn;
  36.     gbStatusMsg: TGroupBox;
  37.     memStatusMsg: TMemo;
  38.     memMsg: TMemo;
  39.     edMCAddr: TEdit;
  40.     procedure FormCreate(Sender: TObject);
  41.     procedure bbtnCloseClick(Sender: TObject);
  42.     procedure bbtnMailClick(Sender: TObject);
  43.     procedure bbtnClearClick(Sender: TObject);
  44.     procedure bbtnAboutClick(Sender: TObject);
  45.   end;
  46.  
  47. var
  48.   frmMain: TfrmMain;
  49.  
  50. implementation
  51.  
  52. uses SendMsg, About;
  53.  
  54. var
  55.  Options : TMCOptions;
  56.  
  57. {$R *.DFM}
  58. procedure TfrmMain.FormCreate(Sender: TObject);
  59. begin
  60.  memMsg.MaxLength := BufferSize;
  61.  memMsg.Clear;
  62.  memStatusMsg.Clear;
  63.  with Options do
  64.  begin
  65.   Port    := BlastCastPort;
  66.   TTL     := BlastCastTTL;
  67.   Address := BlastCastAddr;
  68.  end;
  69.  edMCAddr.text    := BlastCastAddr;
  70.  edPort.Text      := IntToStr(BlastCastPort);
  71.  edTTL.Text       := IntToStr(BlastCastTTL);
  72.  udPort.Position  := BlastCastPort;
  73.  udTTL.Position   := BlastCastTTL;
  74. end;
  75.  
  76. procedure TfrmMain.bbtnCloseClick(Sender: TObject);
  77. begin
  78.  Close;
  79. end;
  80.  
  81. procedure TfrmMain.bbtnMailClick(Sender: TObject);
  82. var
  83.  Position : Integer;
  84.  WorkStr  : String;
  85. begin
  86.  WorkStr := edPort.Text;
  87.  Position := Pos(',',WorkStr);
  88.  if Position > 0 then
  89.   delete(WorkStr, Position, 1);
  90.  with Options do
  91.  begin
  92.   Port    := StrToInt(WorkStr);
  93.   Address := edMCAddr.Text;
  94.   TTL     := StrToInt(edTTL.Text);
  95.  end;
  96.  SendMsgThrd := TSendMsgThrd.Create(memMsg, Options);
  97. end;
  98.  
  99. procedure TfrmMain.bbtnClearClick(Sender: TObject);
  100. begin
  101.  memMsg.Clear;
  102. end;
  103.  
  104. procedure TfrmMain.bbtnAboutClick(Sender: TObject);
  105. begin
  106.  try
  107.   frmAbout := TfrmAbout.Create(NIL);
  108.   frmAbout.ShowModal;
  109.  finally
  110.   frmAbout.Free;
  111.  end;
  112. end;
  113.  
  114. end.
  115.